/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package beans;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author Regina
 */
public class AdminNoticia {
    
    public void enviarNoticiasPorEmail(String emails, ArrayList<Noticia> noticias)
    {
        AdminEmail admEmail = new AdminEmail();
        
        for (Noticia noticia : noticias) 
        {
            admEmail.enviarCorreoNoticias(emails, noticia.getTitulo(), noticia.getNoticia());
        }
    }
    
    public boolean registrarNoticia(Noticia noticia)
    {
        boolean res=false;
        try {
            Conexion.conexion();
            Connection conect= Conexion.getconexion();        
            PreparedStatement cons=conect.prepareStatement("select insertarnoticia(?,?,?,?);");
            cons.setInt(1,noticia.getUsuario().getId_usuario());
            cons.setString(2,noticia.getTitulo());
            cons.setString(3,noticia.getCategoria());
            cons.setString(4,noticia.getNoticia());
             if(cons.execute())
             {Conexion.cerrarConexion();
                 res=true;
                 System.out.println("se registro correctamente"); 
            }
        } catch (SQLException e) {
            System.out.println("no se registro");
            throw new RuntimeException(e);            
        }
        return res;
    }
    
    public ArrayList<Noticia> getNoticiasPorUsuario(Usuario usuario){
        ArrayList<Noticia> noticias = new ArrayList<Noticia>();
        try {Conexion.conexion();
            Connection conexion=Conexion.getconexion();
            PreparedStatement consult=conexion.prepareStatement("Select titulo, categoria, contenido from noticia where id_persona = ?");
            consult.setInt(1, usuario.getId_usuario());
            ResultSet resultado=consult.executeQuery();
            Noticia noticia;
            while(resultado.next()){
                noticia = new Noticia(resultado.getString(1), resultado.getString(2), resultado.getString(3));
                noticias.add(noticia);
            }
            resultado.close();
        } catch (Exception e) {
            e.printStackTrace();
        }Conexion.cerrarConexion();
        return noticias;
    }
    
    public ArrayList<Noticia> getNoticiasPorCategoria(String categoria)
    {
        ArrayList<Noticia> noticias = new ArrayList<Noticia>();
        try {Conexion.conexion();
            Connection conexion=Conexion.getconexion();
            PreparedStatement consult=conexion.prepareStatement("Select titulo, categoria, contenido from noticia where categoria = ?");
            consult.setString(1, categoria);
            ResultSet resultado=consult.executeQuery();
            Noticia noticia;
            while(resultado.next()){
                noticia = new Noticia(resultado.getString(0), resultado.getString(1), resultado.getString(2));
                noticias.add(noticia);
            }
            resultado.close();
        } catch (Exception e) {
            e.printStackTrace();
        }Conexion.cerrarConexion();
        return noticias;
    }
}
